package com.ruoyi.web.ydz.util.quartz;

import java.util.Calendar;
import java.util.Date;

public class quartzUtil {

    /**
     * 将 Date 转换为 Cron 表达式
     */
    public static String dateToCron(Date date) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);

        // 提取时间字段（月份需 +1，Calendar 的月份从 0 开始）
        int second = calendar.get(Calendar.SECOND);
        int minute = calendar.get(Calendar.MINUTE);
        int hour = calendar.get(Calendar.HOUR_OF_DAY);
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        int month = calendar.get(Calendar.MONTH) + 1;
        int year = calendar.get(Calendar.YEAR);

        // 格式化字段为两位数（例如 4 → 04）
        String cronSecond = String.format("%02d", second);
        String cronMinute = String.format("%02d", minute);
        String cronHour = String.format("%02d", hour);
        String cronDay = String.format("%02d", day);
        String cronMonth = String.format("%02d", month);

        // 构建 Cron 表达式：秒 分 时 日 月 ? 年
        return String.format("%s %s %s %s %s ? %d",
                cronSecond, cronMinute, cronHour, cronDay, cronMonth, year);
    }
}
